[INFO] fetching crate rsdb 0.12.1...
[INFO] checking rsdb-0.12.1 against try#a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399 for pr-145770
[INFO] extracting crate rsdb 0.12.1 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate rsdb 0.12.1
[INFO] finished tweaking crates.io crate rsdb 0.12.1
[INFO] tweaked toml for crates.io crate rsdb 0.12.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rsdb 0.12.1 on toolchain a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 106 packages to latest compatible versions
[INFO] [stderr]       Adding bincode v0.8.0 (available: v2.0.1)
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.5.45)
[INFO] [stderr]       Adding coco v0.2.1 (available: v0.3.4)
[INFO] [stderr]       Adding crossbeam v0.3.2 (available: v0.8.4)
[INFO] [stderr]       Adding docopt v0.8.3 (available: v1.1.1)
[INFO] [stderr]       Adding env_logger v0.4.3 (available: v0.11.8)
[INFO] [stderr]       Adding historian v3.0.11 (available: v4.0.4)
[INFO] [stderr]       Adding lazy_static v0.2.11 (available: v1.5.0)
[INFO] [stderr]       Adding log v0.3.9 (available: v0.4.27)
[INFO] [stderr]       Adding quickcheck v0.2.27 (available: v1.0.3)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] [stderr]       Adding rayon v0.8.2 (available: v1.11.0)
[INFO] [stderr]       Adding zstd v0.4.28+zstd.1.4.3 (available: v0.13.3)
[INFO] [stderr]       Adding zstd-sys v1.4.13+zstd.1.4.3 (available: v1.6.3+zstd.1.5.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 34614e73a09a510f00e69ffce3f78f6ff793ff2af63c37545172cfb852ab1b87
[INFO] running `Command { std: "docker" "start" "-a" "34614e73a09a510f00e69ffce3f78f6ff793ff2af63c37545172cfb852ab1b87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34614e73a09a510f00e69ffce3f78f6ff793ff2af63c37545172cfb852ab1b87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34614e73a09a510f00e69ffce3f78f6ff793ff2af63c37545172cfb852ab1b87", kill_on_drop: false }`
[INFO] [stdout] 34614e73a09a510f00e69ffce3f78f6ff793ff2af63c37545172cfb852ab1b87
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1a162e01e76a88e0302c84747ef35d3c37c6b85e944e8616116a80398314fdd5
[INFO] running `Command { std: "docker" "start" "-a" "1a162e01e76a88e0302c84747ef35d3c37c6b85e944e8616116a80398314fdd5", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]     Checking crossbeam v0.3.2
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking coco v0.2.1
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking sled_sync v0.2.2
[INFO] [stderr]     Checking historian v3.0.11
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]     Checking env_logger v0.3.5
[INFO] [stderr]     Checking bincode v0.8.0
[INFO] [stderr]     Checking quickcheck v0.2.27
[INFO] [stderr]     Checking rsdb v0.12.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: derive helper attribute is used before it is introduced
[INFO] [stdout]   --> src/page/mod.rs:87:3
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[serde(bound(deserialize = ""))]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 88 | #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   --------- the attribute is introduced here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | #![cfg_attr(test, deny(warnings))]
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout]    = note: `#[deny(legacy_derive_helpers)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: derive helper attribute is used before it is introduced
[INFO] [stdout]   --> src/page/mod.rs:96:3
[INFO] [stdout]    |
[INFO] [stdout] 96 | #[serde(bound(deserialize = ""))]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 97 | #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   --------- the attribute is introduced here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/log/mod.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn reserve(&self, Vec<u8>) -> Reservation;
[INFO] [stdout]    |                       ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[deny(anonymous_parameters)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/log/mod.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn write(&self, Vec<u8>) -> LogID;
[INFO] [stdout]    |                     ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/page/mod.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn merge(&self, &[&Self::PageFrag]) -> Self::PageFrag;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[&Self::PageFrag]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/page/mod.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn recover(&self, &Self::PageFrag) -> Option<Self::Recovery>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::PageFrag`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused import: `self::keyhash::hash`
[INFO] [stdout]  --> src/hash/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use self::keyhash::hash;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[deny(unused_imports)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused import: `crc16`
[INFO] [stdout]   --> src/hash/mod.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use self::crc16::{crc16, crc16_arr};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: derive helper attribute is used before it is introduced
[INFO] [stdout]   --> src/page/mod.rs:87:3
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[serde(bound(deserialize = ""))]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 88 | #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   --------- the attribute is introduced here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
[INFO] [stdout]    = note: `#[warn(legacy_derive_helpers)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: derive helper attribute is used before it is introduced
[INFO] [stdout]   --> src/page/mod.rs:96:3
[INFO] [stdout]    |
[INFO] [stdout] 96 | #[serde(bound(deserialize = ""))]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 97 | #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   --------- the attribute is introduced here
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79202 <https://github.com/rust-lang/rust/issues/79202>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/log/mod.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn reserve(&self, Vec<u8>) -> Reservation;
[INFO] [stdout]    |                       ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/log/mod.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn write(&self, Vec<u8>) -> LogID;
[INFO] [stdout]    |                     ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/page/mod.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn merge(&self, &[&Self::PageFrag]) -> Self::PageFrag;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[&Self::PageFrag]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/page/mod.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn recover(&self, &Self::PageFrag) -> Option<Self::Recovery>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::PageFrag`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / lazy_static! {
[INFO] [stdout] 101 | |     /// A metric collector for all rsdb instances running in this
[INFO] [stdout] 102 | |     /// process.
[INFO] [stdout] 103 | |     pub static ref M: Metrics = Metrics::default();
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     lazy_static! {
[INFO] [stdout] 121 | |         static ref START: std::time::Instant = std::time::Instant::now();
[INFO] [stdout] 122 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::keyhash::hash`
[INFO] [stdout]  --> src/hash/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use self::keyhash::hash;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crc16`
[INFO] [stdout]   --> src/hash/mod.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use self::crc16::{crc16, crc16_arr};
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / lazy_static! {
[INFO] [stdout] 101 | |     /// A metric collector for all rsdb instances running in this
[INFO] [stdout] 102 | |     /// process.
[INFO] [stdout] 103 | |     pub static ref M: Metrics = Metrics::default();
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     lazy_static! {
[INFO] [stdout] 121 | |         static ref START: std::time::Instant = std::time::Instant::now();
[INFO] [stdout] 122 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/tree/mod.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let cas = self.root.compare_and_swap(from, new_root_pid, SeqCst);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/log/iobuf.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let res = self.header.compare_and_swap(
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/log/iobuf.rs:68:35
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let res = self.log_offset.compare_and_swap(
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/tree/mod.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 |         let cas = self.root.compare_and_swap(from, new_root_pid, SeqCst);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/log/iobuf.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let res = self.header.compare_and_swap(
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/log/iobuf.rs:68:35
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let res = self.log_offset.compare_and_swap(
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tree/mod.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn scan(&self, key: &[u8]) -> TreeIter {
[INFO] [stdout]     |                 ^^^^^                 -------- the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[deny(mismatched_lifetime_syntaxes)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn scan(&self, key: &[u8]) -> TreeIter<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tree/mod.rs:262:17
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn iter(&self) -> TreeIter {
[INFO] [stdout]     |                 ^^^^^     -------- the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn iter(&self) -> TreeIter<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tree/mod.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn scan(&self, key: &[u8]) -> TreeIter {
[INFO] [stdout]     |                 ^^^^^                 -------- the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn scan(&self, key: &[u8]) -> TreeIter<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tree/mod.rs:262:17
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn iter(&self) -> TreeIter {
[INFO] [stdout]     |                 ^^^^^     -------- the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn iter(&self) -> TreeIter<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/log/mod.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn reserve(&self, Vec<u8>) -> Reservation;
[INFO] [stdout]    |                ^^^^^              ----------- the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn reserve(&self, Vec<u8>) -> Reservation<'_>;
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/log/mod.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn reserve(&self, Vec<u8>) -> Reservation;
[INFO] [stdout]    |                ^^^^^              ----------- the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn reserve(&self, Vec<u8>) -> Reservation<'_>;
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/log/mod.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn iter_from(&self, id: LogID) -> LogIter<Self> {
[INFO] [stdout]    |                  ^^^^^                ------------- the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn iter_from(&self, id: LogID) -> LogIter<'_, Self> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/log/mod.rs:143:31
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let len32: u32 = unsafe { std::mem::transmute(len_buf) };
[INFO] [stdout]     |                               -------------------^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: replace this with: `u32::from_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/log/lss.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn reserve(&self, buf: Vec<u8>) -> Reservation {
[INFO] [stdout]    |                ^^^^^                   ----------- the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn reserve(&self, buf: Vec<u8>) -> Reservation<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/log/mod.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn iter_from(&self, id: LogID) -> LogIter<Self> {
[INFO] [stdout]    |                  ^^^^^                ------------- the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn iter_from(&self, id: LogID) -> LogIter<'_, Self> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary transmute
[INFO] [stdout]    --> src/log/mod.rs:143:31
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let len32: u32 = unsafe { std::mem::transmute(len_buf) };
[INFO] [stdout]     |                               -------------------^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: replace this with: `u32::from_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]     = note: `#[deny(unnecessary_transmutes)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/log/lss.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn reserve(&self, buf: Vec<u8>) -> Reservation {
[INFO] [stdout]    |                ^^^^^                   ----------- the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn reserve(&self, buf: Vec<u8>) -> Reservation<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/log/lss.rs:117:35
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let len32: u32 = unsafe { std::mem::transmute(len_buf) };
[INFO] [stdout]     |                                   -------------------^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: replace this with: `u32::from_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary transmute
[INFO] [stdout]    --> src/log/lss.rs:117:35
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let len32: u32 = unsafe { std::mem::transmute(len_buf) };
[INFO] [stdout]     |                                   -------------------^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: replace this with: `u32::from_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/log/iobuf.rs:164:27
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub(super) fn reserve(&self, raw_buf: Vec<u8>) -> Reservation {
[INFO] [stdout]     |                           ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub(super) fn reserve(&self, raw_buf: Vec<u8>) -> Reservation<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary transmute
[INFO] [stdout]    --> src/log/iobuf.rs:497:40
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let size_bytes: [u8; 4] = unsafe { std::mem::transmute(buf.len() as u32) };
[INFO] [stdout]     |                                        -------------------^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: replace this with: `u32::to_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/log/iobuf.rs:164:27
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub(super) fn reserve(&self, raw_buf: Vec<u8>) -> Reservation {
[INFO] [stdout]     |                           ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub(super) fn reserve(&self, raw_buf: Vec<u8>) -> Reservation<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary transmute
[INFO] [stdout]    --> src/page/page_cache.rs:640:39
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let crc64: [u8; 8] = unsafe { std::mem::transmute(crc64(&*bytes)) };
[INFO] [stdout]     |                                       -------------------^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: replace this with: `u64::to_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/log/iobuf.rs:497:40
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let size_bytes: [u8; 4] = unsafe { std::mem::transmute(buf.len() as u32) };
[INFO] [stdout]     |                                        -------------------^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: replace this with: `u32::to_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/page/page_cache.rs:640:39
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let crc64: [u8; 8] = unsafe { std::mem::transmute(crc64(&*bytes)) };
[INFO] [stdout]     |                                       -------------------^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: replace this with: `u64::to_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused return value of `Vec::<T, A>::split_off` that must be used
[INFO] [stdout]    --> src/page/page_cache.rs:693:9
[INFO] [stdout]     |
[INFO] [stdout] 693 |         buf.split_off(len - 8);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `.truncate()` if you don't need the other half
[INFO] [stdout]     = note: `#[deny(unused_must_use)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let _ = buf.split_off(len - 8);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Vec::<T, A>::split_off` that must be used
[INFO] [stdout]    --> src/page/page_cache.rs:693:9
[INFO] [stdout]     |
[INFO] [stdout] 693 |         buf.split_off(len - 8);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `.truncate()` if you don't need the other half
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let _ = buf.split_off(len - 8);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary transmute
[INFO] [stdout]    --> src/page/page_cache.rs:699:42
[INFO] [stdout]     |
[INFO] [stdout] 699 |         let crc_expected: u64 = unsafe { std::mem::transmute(crc_expected_bytes) };
[INFO] [stdout]     |                                          -------------------^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          help: replace this with: `u64::from_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/page/page_cache.rs:699:42
[INFO] [stdout]     |
[INFO] [stdout] 699 |         let crc_expected: u64 = unsafe { std::mem::transmute(crc_expected_bytes) };
[INFO] [stdout]     |                                          -------------------^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          help: replace this with: `u64::from_ne_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rsdb` (lib test) due to 25 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "1a162e01e76a88e0302c84747ef35d3c37c6b85e944e8616116a80398314fdd5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a162e01e76a88e0302c84747ef35d3c37c6b85e944e8616116a80398314fdd5", kill_on_drop: false }`
[INFO] [stdout] 1a162e01e76a88e0302c84747ef35d3c37c6b85e944e8616116a80398314fdd5
